-
Notifications
You must be signed in to change notification settings - Fork 165
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement browser history API based navigation, preventing page reloads between routings #1266
Implement browser history API based navigation, preventing page reloads between routings #1266
Conversation
2e03409
to
d6b9e10
Compare
…loads between routings
…hat data is consistantly displayed across routings
…ervers instead of only provided request server parameters
…as no local copy of the current list
…e previously handled by hm_list_path() and hm_page_name() to the new navigation module. There are still a few occurences to move
…path(), hm_msg_uid(), and hm_page_name() to the new navigation module
778b33d
to
f08f8fa
Compare
9fa73dc
to
28f1285
Compare
@jacob-js A test is failing. |
Locally the same test is succeeding, not sure why in the CI it is failing. @kroky could you have some insights? LOGIN TESTS
- loading site
- logging in
- finding element by name username
- finding element by name password
- finding element by selector input[value=Login]
- waiting for page by tag name: body ...
- finding element by class sys_messages
bad_login_values PASSED
- loading site
- logging in
- finding element by name username
- finding element by name password
- finding element by selector input[value=Login]
- waiting for page by tag name: body ...
- finding element by class login_form
missing_password PASSED
- loading site
- logging in
- finding element by name username
- finding element by name password
- finding element by selector input[value=Login]
- waiting for page by tag name: body ...
- finding element by class login_form
missing_username PASSED
- loading site
- logging in
- finding element by name username
- finding element by name password
- finding element by selector input[value=Login]
- waiting for page by tag name: body ...
- finding element by class login_form
missing_username_and_password PASSED
- loading site
- finding element by name hm_page_key
- logging in
- finding element by name username
- finding element by name password
- finding element by selector input[value=Login]
- waiting for page by tag name: body ...
- finding element by class login_form
bad_login_key PASSED
- loading site
- logging in
- finding element by name username
- finding element by name password
- finding element by selector input[value=Login]
- waiting for page by class name: main_menu ...
- finding element by class content_title
good_login PASSED
- logging out
- waiting for page by tag name: body ...
- finding element by class sys_messages
good_logout PASSED
7 of 7 PASSED |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Changes look good. I am also puzzled by the failing CI test - it is either an unsaved change that is triggering the password dialog on logout or somehow sys_messages become inaccessible for selenium. I think that needs to be debugged more in the pipeline itself, since it can't be reproduced locally. I'd try swapping logout with logout_no_save first.
2f17fe2
to
65a96ff
Compare
The incoherence in the test results was due to different modes used in the test environment. The CI doesn't run in debug mode, whereas locally, the app is executed in debug mode. |
cd078f9
to
69af23b
Compare
@kroky could you look at the changes one more time please? |
…ds between routings (cypht-org#1266)
#1144
Checklist:
When clicking on a message link while contents are still being fetched in the background, the requests should be aborted so the navigation is performed faster(Aborting the requests on the client doesn't help because, once the requests are sent, the server processes them synchronously, blocking other eventual requests. A solution could be processing the requests server-side asynchronously.)